package com.sg.dto.biz.finance.req;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @desc ImplementUpdateCurAcctPushRedisComReqDto
 * @使用场景
 */
@Data
public class ImplementUpdateCurAcctPushRedisComReqDto
        extends BaseDto
        implements Serializable {

    /**
     * 数据对象批次标识
     */
    @NotNull(message = "数据对象批次标识不能为空")
    @ApiModelProperty("数据对象批次标识")
    private String dataObjectBatchCode;

    /**
     * 预算账户ID
     */
    @ApiModelProperty("预算账户ID")
    private String budgetAccountId;

    /**
     * 实体账户ID
     */
    @NotNull(message = "实体账户ID不能为空")
    @ApiModelProperty("实体账户ID")
    private String physicalAccountId;

    /**
     * 账单金额
     */
    @NotNull(message = "账单金额不能为空")
    @ApiModelProperty("账单金额")
    private Double billAmount;

    /**
     * 是否到账账户 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否到账账户")
    private String isIncomingAccount;

    /**
     * 是否开启资金到账 TRUE:是 FALSE:否
     */
    @NotNull(message = "是否开启资金到账不能为空")
    @ApiModelProperty("是否开启资金到账")
    private String isOpenFundsArrival;

    /**
     * 流水业务故事信息
     */
    @NotNull(message = "流水业务故事信息不能为空")
    @ApiModelProperty("流水业务故事信息")
    private String billBizStory;

    /**
     * 预算费用支出科目ID
     */
    @NotNull(message = "预算费用支出科目ID不能为空")
    @ApiModelProperty("预算费用支出科目ID")
    private String budgetExpenseSubjectld;

    /**
     * 预算费用到账科目ID
     */
    @NotNull(message = "预算费用到账科目ID不能为空")
    @ApiModelProperty("预算费用到账科目ID")
    private String budgetExpensesReceivedSubjectld;

    /**
     * 资金使用科目ID
     */
    @NotNull(message = "资金使用科目ID不能为空")
    @ApiModelProperty("资金使用科目ID")
    private String fundUsageSubjectld;

    /**
     * 关联扣减预算账户归属主体标识
     */
    @ApiModelProperty("关联扣减预算账户归属主体标识")
    private String relSubBudgetAccountCode;

    /**
     * 对方logo
     */
    @NotNull(message = "对方logo不能为空")
    @ApiModelProperty("对方logo")
    private String oppositeLogo;

    /**
     * 对方名称
     */
    @NotNull(message = "对方名称不能为空")
    @ApiModelProperty("对方名称")
    private String oppositeName;

}
